home *** CD-ROM | disk | FTP | other *** search
/ C++ für Kids / C++ for kids.iso / SETUP / US / CBUILDER / DATA.Z / GRAPHICS.HPP < prev    next >
C/C++ Source or Header  |  1997-02-13  |  32KB  |  822 lines

  1. //----------------------------------------------------------------------------
  2. // Graphics.hpp - bcbdcc32 generated hdr (DO NOT EDIT) rev: 0
  3. // From: Graphics.pas
  4. //----------------------------------------------------------------------------
  5. #ifndef GraphicsHPP
  6. #define GraphicsHPP
  7. //----------------------------------------------------------------------------
  8. #include <Classes.hpp>
  9. #include <SysUtils.hpp>
  10. #include <Windows.hpp>
  11. #include <System.hpp>
  12. #pragma warn -par
  13. #pragma warn -hid 
  14. #pragma warn -inl
  15.  
  16. namespace Graphics
  17. {
  18. //-- type declarations -------------------------------------------------------
  19. enum TColor {clMin=-0x7fffffff-1, clMax=0x7fffffff};
  20.  
  21. class __declspec(delphiclass) EInvalidGraphic;
  22. class __declspec(pascalimplementation) EInvalidGraphic : public Sysutils::Exception
  23. {
  24.     typedef Sysutils::Exception inherited;
  25.     
  26. public:
  27.     /* Exception.Create */ __fastcall EInvalidGraphic(const System::AnsiString Msg) : Sysutils::Exception(
  28.         Msg) { }
  29.     /* Exception.CreateFmt */ __fastcall EInvalidGraphic(const System::AnsiString Msg, const System::TVarRec 
  30.         * Args, const int Args_Size) : Sysutils::Exception(Msg, Args, Args_Size) { }
  31.     /* Exception.CreateRes */ __fastcall EInvalidGraphic(int Ident) : Sysutils::Exception(Ident) { }
  32.     /* Exception.CreateResFmt */ __fastcall EInvalidGraphic(int Ident, const System::TVarRec * Args, const 
  33.         int Args_Size) : Sysutils::Exception(Ident, Args, Args_Size) { }
  34.     /* Exception.CreateHelp */ __fastcall EInvalidGraphic(const System::AnsiString Msg, int AHelpContext
  35.         ) : Sysutils::Exception(Msg, AHelpContext) { }
  36.     /* Exception.CreateFmtHelp */ __fastcall EInvalidGraphic(const System::AnsiString Msg, const System::TVarRec 
  37.         * Args, const int Args_Size, int AHelpContext) : Sysutils::Exception(Msg, Args, Args_Size, AHelpContext
  38.         ) { }
  39.     /* Exception.CreateResHelp */ __fastcall EInvalidGraphic(int Ident, int AHelpContext) : Sysutils::Exception(
  40.         Ident, AHelpContext) { }
  41.     /* Exception.CreateResFmtHelp */ __fastcall EInvalidGraphic(int Ident, const System::TVarRec * Args
  42.         , const int Args_Size, int AHelpContext) : Sysutils::Exception(Ident, Args, Args_Size, AHelpContext
  43.         ) { }
  44.     
  45. public:
  46.     /* TObject.Destroy */ __fastcall virtual ~EInvalidGraphic(void) { }
  47.     
  48. };
  49.  
  50. class __declspec(delphiclass) EInvalidGraphicOperation;
  51. class __declspec(pascalimplementation) EInvalidGraphicOperation : public Sysutils::Exception
  52. {
  53.     typedef Sysutils::Exception inherited;
  54.     
  55. public:
  56.     /* Exception.Create */ __fastcall EInvalidGraphicOperation(const System::AnsiString Msg) : Sysutils::
  57.         Exception(Msg) { }
  58.     /* Exception.CreateFmt */ __fastcall EInvalidGraphicOperation(const System::AnsiString Msg, const System::TVarRec 
  59.         * Args, const int Args_Size) : Sysutils::Exception(Msg, Args, Args_Size) { }
  60.     /* Exception.CreateRes */ __fastcall EInvalidGraphicOperation(int Ident) : Sysutils::Exception(Ident
  61.         ) { }
  62.     /* Exception.CreateResFmt */ __fastcall EInvalidGraphicOperation(int Ident, const System::TVarRec * 
  63.         Args, const int Args_Size) : Sysutils::Exception(Ident, Args, Args_Size) { }
  64.     /* Exception.CreateHelp */ __fastcall EInvalidGraphicOperation(const System::AnsiString Msg, int AHelpContext
  65.         ) : Sysutils::Exception(Msg, AHelpContext) { }
  66.     /* Exception.CreateFmtHelp */ __fastcall EInvalidGraphicOperation(const System::AnsiString Msg, const 
  67.         System::TVarRec * Args, const int Args_Size, int AHelpContext) : Sysutils::Exception(Msg, Args, Args_Size
  68.         , AHelpContext) { }
  69.     /* Exception.CreateResHelp */ __fastcall EInvalidGraphicOperation(int Ident, int AHelpContext) : Sysutils::
  70.         Exception(Ident, AHelpContext) { }
  71.     /* Exception.CreateResFmtHelp */ __fastcall EInvalidGraphicOperation(int Ident, const System::TVarRec 
  72.         * Args, const int Args_Size, int AHelpContext) : Sysutils::Exception(Ident, Args, Args_Size, AHelpContext
  73.         ) { }
  74.     
  75. public:
  76.     /* TObject.Destroy */ __fastcall virtual ~EInvalidGraphicOperation(void) { }
  77.     
  78. };
  79.  
  80. struct TResData
  81. {
  82.     int Handle;
  83. } ;
  84.  
  85. enum TFontStyle { fsBold, fsItalic, fsUnderline, fsStrikeOut };
  86.  
  87. typedef Set<TFontStyle, fsBold, fsStrikeOut>  TFontStyles;
  88.  
  89. enum TFontPitch { fpDefault, fpVariable, fpFixed };
  90.  
  91. typedef SmallString<31>  TFontName;
  92.  
  93. typedef Byte TFontCharset;
  94.  
  95. struct TFontData
  96. {
  97.     HFONT Handle;
  98.     int Height;
  99.     TFontPitch Pitch;
  100.     TFontStyles Style;
  101.     TFontCharset Charset;
  102.     TFontName Name;
  103. } ;
  104.  
  105. typedef DummySet<TFontStyle, fsBold, fsStrikeOut>  TDummyFontStyles;
  106.  
  107. typedef DummySmallString<31>  TDummyFontName;
  108.  
  109. struct TDummyFontData
  110. {
  111.     HFONT Handle;
  112.     int Height;
  113.     TFontPitch Pitch;
  114.     TDummyFontStyles Style;
  115.     TFontCharset Charset;
  116.     TDummyFontName Name;
  117. } ;
  118.  
  119. enum TPenStyle { psSolid, psDash, psDot, psDashDot, psDashDotDot, psClear, psInsideFrame };
  120.  
  121. enum TPenMode { pmBlack, pmWhite, pmNop, pmNot, pmCopy, pmNotCopy, pmMergePenNot, pmMaskPenNot, pmMergeNotPen, 
  122.     pmMaskNotPen, pmMerge, pmNotMerge, pmMask, pmNotMask, pmXor, pmNotXor };
  123.  
  124. struct TPenData
  125. {
  126.     HPEN Handle;
  127.     TColor Color;
  128.     int Width;
  129.     TPenStyle Style;
  130. } ;
  131.  
  132. enum TBrushStyle { bsSolid, bsClear, bsHorizontal, bsVertical, bsFDiagonal, bsBDiagonal, bsCross, bsDiagCross 
  133.     };
  134.  
  135. class __declspec(delphiclass) TBitmap;
  136. class __declspec(delphiclass) TGraphic;
  137. class __declspec(delphiclass) TCanvas;
  138. class __declspec(pascalimplementation) TGraphic : public Classes::TPersistent
  139. {
  140.     typedef Classes::TPersistent inherited;
  141.     
  142. private:
  143.     Classes::TNotifyEvent FOnChange;
  144.     bool FModified;
  145.     Byte FReserved;
  146.     void __fastcall SetModified(bool Value);
  147.     
  148. protected:
  149.     __fastcall virtual TGraphic(void);
  150.     void __fastcall Changed(System::TObject* Sender);
  151.     virtual void __fastcall DefineProperties(Classes::TFiler* Filer);
  152.     virtual void __fastcall Draw(TCanvas* ACanvas, const Windows::TRect &Rect) = 0;
  153.     virtual bool __fastcall Equals(TGraphic* Graphic);
  154.     virtual bool __fastcall GetEmpty(void) = 0;
  155.     virtual int __fastcall GetHeight(void) = 0;
  156.     virtual int __fastcall GetWidth(void) = 0;
  157.     virtual void __fastcall ReadData(Classes::TStream* Stream);
  158.     virtual void __fastcall SetHeight(int Value) = 0;
  159.     virtual void __fastcall SetWidth(int Value) = 0;
  160.     virtual void __fastcall WriteData(Classes::TStream* Stream);
  161.     
  162. public:
  163.     virtual void __fastcall LoadFromFile(const System::AnsiString Filename);
  164.     virtual void __fastcall SaveToFile(const System::AnsiString Filename);
  165.     virtual void __fastcall LoadFromStream(Classes::TStream* Stream) = 0;
  166.     virtual void __fastcall SaveToStream(Classes::TStream* Stream) = 0;
  167.     virtual void __fastcall LoadFromClipboardFormat(Word AFormat, int AData, HPALETTE APalette) = 0;
  168.     virtual void __fastcall SaveToClipboardFormat(Word &AFormat, int &AData, HPALETTE &APalette) = 0;
  169.     __property bool Empty = {read=GetEmpty, nodefault};
  170.     __property int Height = {read=GetHeight, write=SetHeight, nodefault};
  171.     __property bool Modified = {read=FModified, write=SetModified, nodefault};
  172.     __property int Width = {read=GetWidth, write=SetWidth, nodefault};
  173.     __property Classes::TNotifyEvent OnChange = {read=FOnChange, write=FOnChange};
  174. public:
  175.     /* TObject.Destroy */ __fastcall virtual ~TGraphic(void) { }
  176.     
  177. };
  178.  
  179. class __declspec(delphiclass) TBitmapImage;
  180. class __declspec(delphiclass) TInternalImage;
  181. class __declspec(pascalimplementation) TInternalImage : public System::TObject
  182. {
  183.     typedef System::TObject inherited;
  184.     
  185. private:
  186.     int FRefCount;
  187.     Classes::TCustomMemoryStream* FMemoryImage;
  188.     void __fastcall Reference(void);
  189.     void __fastcall Release(void);
  190.     virtual void __fastcall FreeHandle(void) = 0;
  191. public:
  192.     /* TObject.Create */ __fastcall TInternalImage(void) : System::TObject() { }
  193.     /* TObject.Destroy */ __fastcall virtual ~TInternalImage(void) { }
  194.     
  195. };
  196.  
  197. enum TDIBType { dtNone, dtWin, dtPM };
  198.  
  199. class __declspec(pascalimplementation) TBitmapImage : public TInternalImage
  200. {
  201.     typedef TInternalImage inherited;
  202.     
  203. private:
  204.     HBITMAP FHandle;
  205.     HPALETTE FPalette;
  206.     int FWidth;
  207.     int FHeight;
  208.     void *FDIBHeader;
  209.     void *FDIBBits;
  210.     bool FMonochrome;
  211.     TDIBType FDIBType;
  212.     virtual void __fastcall FreeHandle(void);
  213. public:
  214.     /* TObject.Create */ __fastcall TBitmapImage(void) : Graphics::TInternalImage() { }
  215.     /* TObje